<?php 
/** 
 * 题目：矩形覆盖
 * 描述：我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*		n的大矩形，总共有多少种方法？
 *
 * 解答，  -------------------
 * 		   |  |  |  |  |  |  |
 * 		   -------------------
 * 		   |  |  |  |  |  |  |
 * 		   -------------------
 * 	当第一个 2 * 1小矩形 竖着覆盖时	   
 * 	       -------------------
 * 		   |* |  |  |  |  |  |
 * 		   -------------------
 * 		   |* |  |  |  |  |  |
 * 		   -------------------	
 * 		   有 f(n - 1) 中方法
 * 		   
 * 	当第一个 2 * 1小矩形 横着覆盖时，由题意，则下面的要覆盖必须，横着覆盖	   
 * 	       -------------------
 * 		   |* | *|  |  |  |  |
 * 		   -------------------
 * 		   |  |  |  |  |  |  |
 * 		   -------------------	
 * 		   有 f(n - 2) 中方法
 *
 *  所以 f(n) = f(n - 1) + f(n - 2)
 * 		  			
 */

function rectCover($number)
{
	if ($number == 0) {
		return 0;
	}
    elseif ($number == 1) {
    	return 1;
    }
    elseif ($number == 2) {
    	return 2;
    }
    return rectCover($number - 1) + rectCover($number - 2);
}

echo rectCover(4);